The present invention relates to computer networks and, more particularly, to computer networks with hierarchical addressing schemes. A major objective of the invention is to provide for more convenient assignment of an Internet protocol address to a network infrastructure device such as a hub or a switch.
Much of modern progress is associated with the increasing prevalence of computers. As they have become more prevalent, communication between computers has become imperative.
Computer networks have been developed to provide for this communication.
The largest computer network is the Internet. It connects tens of thousands of networks, and millions of computers. It is used daily by tens of millions of people, with connections in most of the world""s countries. In order for a computer to communicate over the Internet, it must conform to certain protocols, e.g., TCP/IP (Transfer Control Protocol/Internet Protocol), implemented by the Internet. While many local area networks do not implement Internet protocols, the trend is toward conformance to Internet standards so that network managers and users do not have to learn two entirely distinct systems to work both over the local network and over the Internet. Accordingly, the following discussion emphasizes networks that comply with Internet protocols and interface guidelines.
On a hardware level, a network comprises network devices, and communications media. Network devices include both network end-node devices (computers and peripherals) and network infrastructure devices (hubs, switches, and routers). xe2x80x9cCommunications mediaxe2x80x9d encompasses metal cables, fiber optic links, as well as wireless transmitters and receivers.
Communication takes the form of packetized data transmitted over the media. The packets contain not only the information to be communicated, but also source and destination addresses. In simple networks, it is sufficient to transmit a message on a broadcast medium to all network devices; each network device examines the destination address, processing or ignoring the packet contents depending on whether the destination address matches the physical address of the device. The ratio of intended packets to unintended packets examined by a device falls with the number of devices. Thus, for large networks, network-wide transmission is ineffective, since an excessive portion of the network bandwidth available to a device is consumed by messages not intended for it.
A switch prevents a packet from crossing segments unless such crossing is necessary for the packet to reach its destination. In order to execute such filtering, a switch must know (be programmed with information about or learn by examining the source addresses of throughgoing packets) the network locations of devices. Multi-segment networks typically provide for broadcasting, e.g., of packets specifying xe2x80x9cbroadcastxe2x80x9d as the destination address. For example, address resolution packets (ARPs) are typically broadcast.
Networks with flat physical addressing schemes suffer from two limitations as the number of network devices increases. First, for very large networks, especially those in which devices are frequently added, removed, and moved, it is not practical to learn the network location of every device on the network. Accordingly, for a large percentage of packets, the destination address is not known to a switch, which, by default, must then broadcast the packet. Second, packets designated for broadcast consume excessive network bandwidth even though they might constitute a relatively small percentage of packets transmitted.
The Internet protocols handle these problem by supplementing a flat physical-addressing scheme with a hierarchical logic-addressing scheme. For a familiar analogy, the conventional (non-cellular) phone system uses hierarchical addressing in that each phone number expresses or implies a country code and typically an area or city code. (Typically, the country/area codes are omitted for calls within the country/area). If a phone is moved from one area to another, the phone number used to access it is changed. An advantage of the hierarchical scheme is that routing from the source address can be made to a particular country or area without knowledge of the specific location of the destination address. Once the call reaches the destination country/area, a router local to the country/area directs the call to the specific location of the phone called.
The Internet is divided into domains (e.g., uspto.gov). Logical addresses specify a domain and location within a domain. When a packet is transmitted, a router local to the transmitter only needs to know how to get the packet to the destination domain. A router within the destination domain then knows how to move the packet to the specified destination address within the domain. Broadcast packets are only broadcast within a domain, not over the entire networkxe2x80x94thus keeping the bandwidth burden within acceptable bounds.
Accordingly, networks that are Internet compliant or employ analogous hierarchical addressing schemes require that each device that is to serve as the source or destination of a packet be assigned an IP (Internet Protocol) or other logical address. In general, network infrastructure devices are intended to function invisibly to the network user. Thus, in normal use, network infrastructure devices such as hubs and switches are transfer stations for, but not the source or destination of a packet. Accordingly, it is possible for a network to function with network infrastructure devices that do not have logical addresses assigned. (This does not apply to routers, which, by nature, have logical addresses associated with the domains they define.)
On the other hand, network infrastructure devices are well situated for detecting, responding to, and even correcting network problems. To these ends, many network infrastructure devices include detectors and counters for determining the frequency with which certain problem-indicating events (e.g., packet collisions) occur. A network manager can benefit from access to the information gathered by a network infrastructure device and should be able to intervene, e.g., to turn ports on and off. For this reason, a network manager should be able to communicate with a network infrastructure device via the network. For this communication to occur, the network infrastructure device should be assigned a logical address.
Some hubs and switches are designed so that they do not operate until a suitable logical address is assigned to them. However, allowing a hub or switch to operate without a logical address affords more flexibility to the network manager in seting priorities. A network manager might decide that it is unnecessary to manage a device, and thus decide to forego assignment of a logical address. Also, a network manager might well defer assignment of a logical address in favor of addressing more immediate concerns involving getting node devices working with the hub or switch.
There are established protocols for assigning logical addresses over a network. BOOTP (boot protocol) is an older and more prevalent protocol, and DHCP (dynamic host configuration protocol) is newer, more flexible, convenient, and powerful. Both protocols require a dedicated logical address server; such a server is expensive and must be configured and maintained. Configuration typically requires a high level of training and can be tedious. Unless the boot protocol is enabled by default, a device must be enabled manually at the device. Furthermore, the requirement for a dedicated server can also be cumbersome, as a network manager might have to shuttle between the location of the server and the location of a network infrastructure device during installation and problem isolation.
Because of the expense and inconvenience, not all networks implement boot protocols; furthermore, even for networks implementing a boot protocol for logical addressing, it can be convenient to have the option to assign a logical address at the device itself.
To this end, some switches and hubs include a dedicated port to permit a logical address to be assigned. For example, Hewlett-Packard has manufactured some devices with serial (RS232) ports that can be accessed, for example, by a portable computer, so that the logical address can be assigned by typing on a terminal connected to the serial port. This approach allows the address to be assigned locally and independent of any address assignment protocols supported on the network. However, the dedicated port (and supporting software and circuitry) on a network infrastructure device adds to device cost. This additional cost can seem wasteful given the availability of multiple network ports on the device. In addition, the required serial port connector consumes valuable space on the devices face plate.
What is needed is a network infrastructure device and a method for assigning logical addresses to such a device that achieves the compatibility of a device with a dedicated non-network port without actually requiring the non-network port. Furthermore, the approach should allow the device to function without an assigned logical address so that it can be programmed at the network manager""s convenience.
The present invention provides a network device with a logical-address learn mode that can be activated, for example, through a front-panel button. When in this learn mode, the network device adopts, as its logical address, the logical destination address of a received packet. The learn mode preferably implements some constraints, for example, only one port is used for learning (while others remain in network mode operation) and only certain packet types trigger the adoption of the logical destination, address. Also, preferably, the device exits learn mode as soon as a logical address is adopted, thus permitting the device to operate as though the logical address were assigned before the packet was received.
A method of the invention from the perspective of the network device to be programmed involves receiving a command to enter a learning mode. In this mode, a packet is received at a port assigned the learn function. The logical destination address of the packet is then stored as the logical address of the device. The device then automatically exits the learn mode and enters a normal networking mode, responding to the packet as though the newly programmed logical address were the logical address of the network device before the packet was received. xe2x80x9cAs thoughxe2x80x9d as used here encompasses either adopting the logical address immediately and unconditionally or awaiting for some sort of confirmation before adopting the logical address unconditionally.
From the perspective of the network manager, the inventive method is as follows. The manager couples a programming device (e.g., a network ready laptop computer) to a port of the network device assigned to the learning function. The manager then operates the programming device so that it will issue a command (e.g., xe2x80x9cpingxe2x80x9d or HTTP xe2x80x9cgetxe2x80x9d) to the logical address to be programmed. The network protocol requires a physical address accompany the logical address. However, this physical address is not known to the programming device. In accordance with the Internet protocols, an address resolution packet, e.g., IP ARP, is transmitted to the logical address. The normal purpose of an address resolution packet is to command the device with the specified logical address to transmit a packet indicating its physical address. The network device does respond with a physical address (after adopting the logical address and exiting learn mode). The programming device then transmits the command indicated by the network manager. The network device then responds as appropriate for the command.